உலகம் முழுவதும் தடையற்ற பயனர் அனுபவங்களைத் திறக்கவும். வலுவான, பிழை இல்லாத வலை பயன்பாடுகளுக்கான குறுக்கு-உலாவி ஜாவாஸ்கிரிப்ட் இணக்கத்தன்மை அணியை உருவாக்கி தானியக்கமாக்க கற்றுக்கொள்ளுங்கள்.
குறுக்கு-உலாவி ஜாவாஸ்கிரிப்ட் சோதனையில் தேர்ச்சி பெறுதல்: தானியங்கி இணக்கத்தன்மை அணி
உலகளாவிய டிஜிட்டல் சந்தையில், உங்கள் வலை பயன்பாடு உங்கள் கடையின் முகப்பு, உங்கள் அலுவலகம் மற்றும் உலகம் முழுவதும் உள்ள பயனர்களுடனான உங்கள் முதன்மை தொடர்பு புள்ளியாகும். ஒரு குறிப்பிட்ட உலாவியில் ஒற்றை ஜாவாஸ்கிரிப்ட் பிழை என்பது பெர்லினில் ஒரு விற்பனை இழப்பு, டோக்கியோவில் தோல்வியுற்ற பதிவு அல்லது சாவோ பாலோவில் விரக்தியடைந்த பயனராக இருக்கலாம். எல்லா இடங்களிலும் குறியீடு ஒரே மாதிரியாக இயங்கும் ஒருங்கிணைந்த வலை என்ற கனவு, ஒரு கனவாகவே உள்ளது. உண்மை என்னவென்றால், உலாவிகள், சாதனங்கள் மற்றும் இயக்க முறைமைகளின் ஒரு துண்டு துண்டான சுற்றுச்சூழல் அமைப்பு. இங்கே குறுக்கு-உலாவி சோதனை ஒரு வேலையாக இருப்பதை நிறுத்தி ஒரு மூலோபாய கட்டாயமாக மாறும். மேலும் இந்த மூலோபாயத்தை அளவில் திறப்பதற்கான திறவுகோல் தானியங்கி இணக்கத்தன்மை அணி ஆகும்.
இந்த விரிவான வழிகாட்டி, நவீன வலை மேம்பாட்டிற்கு இந்த கருத்து ஏன் முக்கியமானது, உங்கள் சொந்த அணியை எவ்வாறு கருத்தியல் செய்து உருவாக்குவது மற்றும் இந்த கடினமான பணியை நெறிப்படுத்தப்பட்ட, தானியங்கி மேம்பாட்டு வாழ்க்கைச் சுழற்சியாக மாற்றும் கருவிகள் என்ன என்பதை உங்களுக்குக் காண்பிக்கும்.
நவீன வலையில் குறுக்கு-உலாவி இணக்கத்தன்மை ஏன் இன்னும் முக்கியமானது
ஒரு பொதுவான தவறான கருத்து, குறிப்பாக புதிய டெவலப்பர்களிடையே, "உலாவி போர்கள்" முடிந்துவிட்டன மற்றும் நவீன, பசுமையான உலாவிகள் வலையை பெரும்பாலும் தரப்படுத்தியுள்ளன. ECMAScript போன்ற தரநிலைகள் நம்பமுடியாத முன்னேற்றங்களைச் செய்திருந்தாலும், குறிப்பிடத்தக்க வேறுபாடுகள் உள்ளன. அவற்றை புறக்கணிப்பது உலகளாவிய பார்வையாளர்களைக் கொண்ட எந்தவொரு பயன்பாட்டிற்கும் அதிக ஆபத்துள்ள சூதாட்டம்.
- வழங்கல் எஞ்சின் வேறுபாடு: வலை முதன்மையாக மூன்று முக்கிய ரெண்டரிங் என்ஜின்களால் இயக்கப்படுகிறது: பிளிங்க் (குரோம், எட்ஜ், ஓபரா), வெப்கிட் (சஃபாரி) மற்றும் கெக்கோ (ஃபயர்பாக்ஸ்). அவை அனைத்தும் வலை தரநிலைகளைப் பின்பற்றினாலும், அவை தனித்துவமான செயலாக்கங்கள், வெளியீட்டு சுழற்சிகள் மற்றும் பிழைகளைக் கொண்டுள்ளன. ஜாவாஸ்கிரிப்ட் மூலம் இயங்கும் அனிமேஷனை இயக்கும் CSS சொத்து Chrome இல் குறைபாடில்லாமல் செயல்படக்கூடும், ஆனால் Safari இல் பிழையாகவோ அல்லது ஆதரிக்கப்படாமலோ இருக்கலாம், இது உடைந்த பயனர் இடைமுகத்திற்கு வழிவகுக்கிறது.
- ஜாவாஸ்கிரிப்ட் எஞ்சின் நுணுக்கங்கள்: இதேபோல், ஜாவாஸ்கிரிப்ட் என்ஜின்கள் (பிளிங்கிற்கு V8 மற்றும் கெக்கோவுக்கு ஸ்பைடர்மங்கி போன்றவை) செயல்திறன் வேறுபாடுகள் மற்றும் சமீபத்திய ECMAScript அம்சங்களை எவ்வாறு செயல்படுத்துகின்றன என்பதில் மாறுபாடுகள் இருக்கலாம். அதிநவீன அம்சங்களைச் சார்ந்திருக்கும் குறியீடு கிடைக்காமல் போகலாம் அல்லது சற்று பழைய ஆனால் இன்னும் பரவலாக உள்ள உலாவி பதிப்பில் வித்தியாசமாக செயல்படலாம்.
- மொபைல் மெகாலித்: வலை மிக அதிகமாக மொபைல் ஆகும். இதன் பொருள் சிறிய திரையில் சோதனை செய்வது மட்டுமல்ல. சாம்சங் இணையம் போன்ற மொபைல்-குறிப்பிட்ட உலாவிகளைக் கணக்கிடுவது என்று பொருள், இது ஒரு குறிப்பிடத்தக்க உலகளாவிய சந்தைப் பங்கைக் கொண்டுள்ளது, மேலும் ஆண்ட்ராய்டு மற்றும் iOS இல் உள்ள சொந்த பயன்பாடுகளுக்குள் WebView கூறுகள். இந்த சூழல்களுக்கு அவற்றின் சொந்த தடைகள், செயல்திறன் பண்புகள் மற்றும் தனித்துவமான பிழைகள் உள்ளன.
- உலகளாவிய பயனர்களின் மீதான தாக்கம்: உலாவி சந்தைப் பங்கு பிராந்தியத்தால் வியத்தகு முறையில் மாறுபடுகிறது. குரோம் வட அமெரிக்காவில் ஆதிக்கம் செலுத்தக்கூடும் என்றாலும், UC உலாவி போன்ற உலாவிகள் ஆசியா முழுவதும் உள்ள சந்தைகளில் வரலாற்று ரீதியாக பிரபலமாக உள்ளன. உங்கள் பயனர் தளம் உங்கள் மேம்பாட்டுக் குழுவின் உலாவி விருப்பங்களைப் பிரதிபலிக்கிறது என்று கருதுவது உங்கள் சாத்தியமான பார்வையாளர்களின் ஒரு குறிப்பிடத்தக்க பகுதியை அந்நியப்படுத்துவதற்கான ஒரு செய்முறையாகும்.
- அருமையான சீரழிவு மற்றும் முற்போக்கான மேம்பாடு: மீள்தன்மை வலை மேம்பாட்டின் முக்கிய கொள்கை, சில மேம்பட்ட அம்சங்கள் வேலை செய்யாவிட்டாலும் உங்கள் பயன்பாடு செயல்படும் என்பதை உறுதி செய்வதாகும். இணக்கத்தன்மை அணி இதை சரிபார்க்க உதவுகிறது. உங்கள் பயன்பாடு பழைய உலாவியில் ஒரு முக்கிய பணியை முடிக்க பயனரை அனுமதிக்க வேண்டும், அனுபவம் அவ்வளவு பணக்காரராக இல்லாவிட்டாலும் கூட.
இணக்கத்தன்மை அணி என்றால் என்ன?
அதன் மையத்தில், ஒரு இணக்கத்தன்மை அணி ஒரு கட்டமாகும். நீங்கள் எதைச் சோதிக்கிறீர்கள் (அம்சங்கள், பயனர் ஓட்டங்கள், கூறுகள்) நீங்கள் அதை எங்கு சோதிக்கிறீர்கள் என்பதற்கு எதிராக (உலாவி/பதிப்பு, இயக்க முறைமை, சாதன வகை) வரைபடமாக்குவதற்கான ஒரு ஒழுங்கமைக்கப்பட்ட கட்டமைப்பாகும். இது எந்த சோதனை மூலோபாயத்தின் அடிப்படை கேள்விகளுக்கு பதிலளிக்கிறது:
- நாங்கள் என்ன சோதிக்கிறோம்? (எ.கா., பயனர் உள்நுழைவு, வண்டியில் சேர், தேடல் செயல்பாடு)
- நாங்கள் அதை எங்கே சோதிக்கிறோம்? (எ.கா., macOS இல் Chrome 105, iOS 16 இல் Safari 16, Windows 11 இல் Firefox)
- எதிர்பார்க்கப்படும் முடிவு என்ன? (எ.கா., தேர்ச்சி, தோல்வி, அறியப்பட்ட சிக்கல்)
QA பொறியாளர்கள் தங்கள் சோதனை ஓட்டங்களைக் கண்காணிக்கும் ஒரு விரிதாள் ஒரு கையேடு அணியாக இருக்கலாம். சிறிய திட்டங்களுக்கு பயனுள்ளதாக இருக்கும்போது, இந்த அணுகுமுறை மெதுவாக இருக்கும், மனித பிழைக்கு ஆளாகிறது மற்றும் நவீன CI/CD (தொடர்ச்சியான ஒருங்கிணைப்பு/தொடர்ச்சியான வரிசைப்படுத்தல்) சூழலில் முற்றிலும் நிலையானதாக இல்லை. ஒரு தானியங்கி இணக்கத்தன்மை அணி இந்த கருத்தை எடுத்து உங்கள் மேம்பாட்டு குழாயில் நேரடியாக ஒருங்கிணைக்கிறது. ஒவ்வொரு முறையும் புதிய குறியீடு செய்யப்படுகிறது, இந்த முன் வரையறுக்கப்பட்ட உலாவி மற்றும் சாதனங்களின் கட்டம் முழுவதும் தானியங்கி சோதனைகளின் தொகுப்பு இயங்குகிறது, இது உடனடி, விரிவான கருத்துக்களை வழங்குகிறது.
உங்கள் தானியங்கி இணக்கத்தன்மை அணியை உருவாக்குதல்: முக்கிய கூறுகள்
ஒரு பயனுள்ள தானியங்கி அணியை உருவாக்குவது தொடர்ச்சியான மூலோபாய முடிவுகளை உள்ளடக்கியது. அதை நான்கு முக்கிய படிகளாக உடைப்போம்.
படி 1: உங்கள் நோக்கம் வரையறுத்தல் - "யார்" மற்றும் "என்ன"
நீங்கள் எல்லாவற்றையும், எல்லா இடங்களிலும் சோதிக்க முடியாது. எதற்கு முன்னுரிமை கொடுப்பது என்பது பற்றி தரவு சார்ந்த முடிவுகளை எடுப்பது முதல் படி. இது உங்கள் முழு சோதனை முயற்சிக்கும் முதலீட்டின் வருவாயை வரையறுக்கும் என்பதால் இது மிக முக்கியமான படியாகும்.
இலக்கு உலாவிகள் மற்றும் சாதனங்களைத் தேர்ந்தெடுப்பது:
- உங்கள் பயனர் தரவை பகுப்பாய்வு செய்யுங்கள்: உங்கள் முதன்மை உண்மை ஆதாரம் உங்கள் சொந்த பகுப்பாய்வு. Google Analytics, Adobe Analytics அல்லது உங்களிடம் உள்ள வேறு எந்த தளத்தையும் பயன்படுத்தி, உங்கள் உண்மையான பார்வையாளர்களால் பயன்படுத்தப்படும் சிறந்த உலாவிகள், இயக்க முறைமைகள் மற்றும் சாதன வகைகளை அடையாளம் காணவும். உங்களிடம் உலகளாவிய பயனர் தளம் இருந்தால் பிராந்திய வேறுபாடுகளுக்கு நெருக்கமான கவனம் செலுத்துங்கள்.
- உலகளாவிய புள்ளிவிவரங்களைக் கலந்தாலோசிக்கவும்: StatCounter அல்லது Can I Use போன்ற ஆதாரங்களில் இருந்து உலகளாவிய புள்ளிவிவரங்களுடன் உங்கள் தரவை அதிகரிக்கவும். நீங்கள் நுழைய திட்டமிட்டுள்ள சந்தைகளில் போக்குகளைக் கண்டறியவும் மற்றும் பிரபலமான உலாவிகளை அடையாளம் காணவும் இது உதவும்.
- அடுக்கு முறையை செயல்படுத்தவும்: ஒரு அடுக்கு அணுகுமுறை நோக்கம் நிர்வகிப்பதற்கு மிகவும் பயனுள்ளதாக இருக்கும்:
- அடுக்கு 1: உங்கள் மிக முக்கியமான உலாவிகள். இவை பொதுவாக முக்கிய உலாவிகளின் சமீபத்திய பதிப்புகள் (Chrome, Firefox, Safari, Edge) ஆகும், அவை உங்கள் பயனர் தளத்தின் பெரும்பகுதியைக் குறிக்கின்றன. இவை தானியங்கி சோதனைகளின் முழு தொகுப்பைப் பெறுகின்றன (இறுதி முதல் இறுதி வரை, ஒருங்கிணைப்பு, காட்சி). இங்கே ஒரு தோல்வி வரிசைப்படுத்தலைத் தடுக்க வேண்டும்.
- அடுக்கு 2: முக்கியமான ஆனால் குறைவான பொதுவான உலாவிகள் அல்லது பழைய பதிப்புகள். இது உலாவியின் முந்தைய முக்கிய பதிப்பு அல்லது சாம்சங் இணையம் போன்ற குறிப்பிடத்தக்க மொபைல் உலாவியை உள்ளடக்கியிருக்கலாம். இவை முக்கியமான-பாதை சோதனைகளின் சிறிய தொகுப்பை இயக்கக்கூடும். தோல்வி ஒரு உயர் முன்னுரிமை டிக்கெட்டை உருவாக்கலாம், ஆனால் ஒரு வெளியீட்டைத் தடுக்க வேண்டிய அவசியமில்லை.
- அடுக்கு 3: குறைவான பொதுவான அல்லது பழைய உலாவிகள். இங்கே நோக்கம் அருமையான சீரழிவு ஆகும். பயன்பாடு ஏற்றப்படுவதையும், முக்கிய செயல்பாடு முற்றிலும் உடைக்கப்படவில்லை என்பதையும் உறுதிப்படுத்த நீங்கள் ஒரு சில "புகை சோதனைகளை" இயக்கலாம்.
முக்கியமான பயனர் பாதைகளை வரையறுத்தல்:
ஒவ்வொரு அம்சத்தையும் சோதிக்க முயற்சிப்பதற்குப் பதிலாக, அதிக மதிப்பை வழங்கும் முக்கியமான பயனர் பயணங்களில் கவனம் செலுத்துங்கள். ஒரு மின் வணிக தளத்திற்கு, இது இருக்கும்:
- பயனர் பதிவு மற்றும் உள்நுழைவு
- ஒரு தயாரிப்பைத் தேடுவது
- ஒரு தயாரிப்பு விவரப் பக்கத்தைப் பார்ப்பது
- ஒரு தயாரிப்பை வண்டியில் சேர்ப்பது
- முழுமையான செக் அவுட் ஓட்டம்
இந்த முக்கிய ஓட்டங்களுக்கான சோதனைகளை தானியக்கமாக்குவதன் மூலம், வணிக-முக்கிய செயல்பாடு உங்கள் முழு இணக்கத்தன்மை அணி முழுவதும் அப்படியே இருப்பதை உறுதி செய்கிறீர்கள்.
படி 2: உங்கள் ஆட்டோமேஷன் கட்டமைப்பைத் தேர்ந்தெடுப்பது - "எப்படி"
ஆட்டோமேஷன் கட்டமைப்பு என்பது உங்கள் சோதனைகளை இயக்கும் எஞ்சின் ஆகும். நவீன ஜாவாஸ்கிரிப்ட் சுற்றுச்சூழல் அமைப்பு பல சிறந்த தேர்வுகளை வழங்குகிறது, ஒவ்வொன்றும் அதன் சொந்த தத்துவம் மற்றும் பலத்துடன்.
-
செலினியம்:
நீண்டகால தொழில் தரநிலை. இது W3C தரநிலை மற்றும் கிட்டத்தட்ட ஒவ்வொரு உலாவி மற்றும் நிரலாக்க மொழியையும் ஆதரிக்கிறது. அதன் முதிர்ச்சி என்பது அதற்கு ஒரு பெரிய சமூகம் மற்றும் விரிவான ஆவணங்கள் உள்ளன. இருப்பினும், இதை அமைப்பது சில நேரங்களில் மிகவும் சிக்கலானதாக இருக்கும், மேலும் அதன் சோதனைகள் கவனமாக எழுதப்படாவிட்டால், மோசடிக்கு ஆளாகக்கூடும்.
-
சைப்ரஸ்:
டெவலப்பர் மையப்படுத்தப்பட்ட, ஆல் இன் ஒன் கட்டமைப்பு, இது மிகப்பெரிய பிரபலத்தைப் பெற்றுள்ளது. இது உங்கள் பயன்பாட்டின் அதே ரன்-லூப்பில் இயங்குகிறது, இது வேகமான மற்றும் நம்பகமான சோதனைகளுக்கு வழிவகுக்கும். அதன் ஊடாடும் சோதனை ரன்னர் ஒரு பெரிய உற்பத்தித்திறன் பூஸ்டர் ஆகும். வரலாற்று ரீதியாக, குறுக்கு-மூலம் மற்றும் பல-தாவல் சோதனைக்கு வரம்புகள் இருந்தன, ஆனால் சமீபத்திய பதிப்புகள் இவற்றில் பலவற்றை நிவர்த்தி செய்துள்ளன. அதன் குறுக்கு-உலாவி ஆதரவு ஒருமுறை குறைவாக இருந்தது, ஆனால் கணிசமாக விரிவடைந்துள்ளது.
-
பிளேரைட்:
மைக்ரோசாஃப்ட் உருவாக்கியது, பிளேரைட் ஒரு நவீன மற்றும் சக்திவாய்ந்த போட்டியாளர். இது அனைத்து மூன்று முக்கிய ரெண்டரிங் என்ஜின்களுக்கும் (குரோமியம், ஃபயர்பாக்ஸ், வெப்கிட்) சிறந்த, முதல் தர ஆதரவை வழங்குகிறது, இது குறுக்கு-உலாவி அணிக்கு ஒரு அருமையான தேர்வாக அமைகிறது. இது தானியங்கி காத்திருப்பு, நெட்வொர்க் இடைமறிப்பு மற்றும் உள்ளமைக்கப்பட்ட இணை செயல்படுத்தல் போன்ற அம்சங்களுடன் சக்திவாய்ந்த API ஐக் கொண்டுள்ளது, இது வலுவான, அல்லாத மோசடியான சோதனைகளை எழுதுவதற்கு உதவுகிறது.
பரிந்துரை: இன்றைய குறுக்கு-உலாவி சோதனை முயற்சியைத் தொடங்கும் அணிகளுக்கு, அதன் சிறந்த குறுக்கு-எஞ்சின் கட்டிடக்கலை மற்றும் நவீன அம்சத் தொகுப்பு காரணமாக பிளேரைட் பெரும்பாலும் வலுவான தேர்வாக இருக்கும். டெவலப்பர் அனுபவத்திற்கு முன்னுரிமை அளிக்கும் அணிகளுக்கு சைப்ரஸ் ஒரு அற்புதமான விருப்பம், குறிப்பாக ஒரு டொமைனுக்குள் கூறு மற்றும் இறுதி முதல் இறுதி வரை சோதனைக்கு. சிக்கலான தேவைகள் அல்லது பல மொழி தேவைகள் உள்ள பெரிய நிறுவனங்களுக்கு செலினியம் ஒரு வலுவான தேர்வாக உள்ளது.
படி 3: உங்கள் மரண தண்டனை சூழலைத் தேர்ந்தெடுப்பது - "எங்கே"
உங்களிடம் சோதனைகள் மற்றும் கட்டமைப்பு இருந்தால், அவற்றை இயக்க ஒரு இடம் தேவை. இங்கே அணி உண்மையிலேயே உயிர்ப்பிக்கிறது.
- உள்ளூர் மரண தண்டனை: மேம்பாட்டின் போது உங்கள் சொந்த கணினியில் சோதனைகளை இயக்குவது அவசியம். இது வேகமானது மற்றும் உடனடி கருத்துக்களை வழங்குகிறது. இருப்பினும், இது முழு இணக்கத்தன்மை அணிக்கு அளவிடக்கூடிய தீர்வு அல்ல. ஒவ்வொரு OS மற்றும் உலாவி பதிப்பு கலவையையும் உள்நாட்டில் நிறுவ முடியாது.
- சுயமாக ஹோஸ்ட் செய்யப்பட்ட கிரிட் (எ.கா., செலினியம் கிரிட்): இது வெவ்வேறு உலாவிகள் மற்றும் OS கள் நிறுவப்பட்ட இயந்திரங்களின் உங்கள் சொந்த உள்கட்டமைப்பை (உடல் அல்லது மெய்நிகர்) அமைத்து பராமரிப்பதை உள்ளடக்கியது. இது முழுமையான கட்டுப்பாடு மற்றும் பாதுகாப்பை வழங்குகிறது, ஆனால் மிக அதிக பராமரிப்பு மேல்நிலையுடன் வருகிறது. புதுப்பிப்புகள், பேட்ச்கள் மற்றும் அளவிடுதல் ஆகியவற்றிற்கு நீங்கள் பொறுப்பாவீர்கள்.
- கிளவுட் அடிப்படையிலான கிரிட்கள் (பரிந்துரைக்கப்படுகிறது): இது நவீன அணிகளுக்கான ஆதிக்க அணுகுமுறை. BrowserStack, Sauce Labs மற்றும் LambdaTest போன்ற சேவைகள் ஆயிரக்கணக்கான உலாவி, OS மற்றும் உண்மையான மொபைல் சாதன சேர்க்கைகளுக்கு தேவைக்கேற்ப உடனடி அணுகலை வழங்குகின்றன.
முக்கிய நன்மைகள் பின்வருமாறு:- பாரிய அளவிடுதல்: கருத்துக்களைப் பெறுவதற்கு எடுக்கும் நேரத்தை வெகுவாகக் குறைத்து, நூற்றுக்கணக்கான சோதனைகளை இணையான முறையில் இயக்கவும்.
- பூஜ்ஜிய பராமரிப்பு: வழங்குநர் அனைத்து உள்கட்டமைப்பு மேலாண்மை, உலாவி புதுப்பிப்புகள் மற்றும் சாதன கொள்முதல் ஆகியவற்றை கையாளுகிறார்.
- உண்மையான சாதனங்கள்: உண்மையான iPhone, Android சாதனங்கள் மற்றும் டேப்லெட்களில் சோதனை செய்யுங்கள், இது எமுலேட்டர்கள் தவறவிடக்கூடிய சாதன-குறிப்பிட்ட பிழைகளை வெளிப்படுத்த மிகவும் முக்கியமானது.
- பிழைத்திருத்தும் கருவிகள்: இந்த தளங்கள் ஒவ்வொரு சோதனை ஓட்டத்திற்கும் வீடியோக்கள், கன்சோல் பதிவுகள், நெட்வொர்க் பதிவுகள் மற்றும் ஸ்கிரீன் ஷாட்களை வழங்குகின்றன, இது தோல்விகளைக் கண்டறிவதை எளிதாக்குகிறது.
படி 4: CI/CD உடன் ஒருங்கிணைத்தல் - ஆட்டோமேஷன் எஞ்சின்
இறுதி, முக்கியமான படி உங்கள் இணக்கத்தன்மை அணியை உங்கள் மேம்பாட்டு செயல்முறையின் தானியங்கி, கண்ணுக்கு தெரியாத பகுதியாக மாற்றுவதாகும். சோதனை ஓட்டங்களை கைமுறையாகத் தூண்டுவது நிலையான மூலோபாயமல்ல. உங்கள் CI/CD இயங்குதளத்துடன் ஒருங்கிணைப்பு (GitHub Actions, GitLab CI, Jenkins, அல்லது CircleCI போன்றவை) பேச்சுவார்த்தைக்குட்பட்டது அல்ல.
வழக்கமான பணிப்பாய்வு இதுபோல் தெரிகிறது:
- ஒரு டெவலப்பர் புதிய குறியீட்டை களஞ்சியத்திற்குத் தள்ளுகிறார்.
- CI/CD இயங்குதளம் தானாகவே ஒரு புதிய உருவாக்கத்தைத் தூண்டுகிறது.
- உருவாக்கத்தின் ஒரு பகுதியாக, சோதனை பணி தொடங்கப்படுகிறது.
- சோதனை பணி குறியீட்டை சரிபார்த்து, சார்புகளை நிறுவி, பின்னர் சோதனை ரன்னரை இயக்குகிறது.
- சோதனை ரன்னர் நீங்கள் தேர்ந்தெடுத்த மரண தண்டனை சூழலுடன் (எ.கா., ஒரு கிளவுட் கிரிட்) இணைத்து, முழு முன் வரையறுக்கப்பட்ட அணி முழுவதும் சோதனை தொகுப்பை இயக்குகிறது.
- முடிவுகள் CI/CD இயங்குதளத்திற்கு மீண்டும் தெரிவிக்கப்படுகின்றன. ஒரு அடுக்கு 1 உலாவியில் ஏற்படும் தோல்வி, குறியீட்டை ஒன்றிணைக்கவோ அல்லது வரிசைப்படுத்தவோ தானாகவே தடுக்கலாம்.
GitHub Actions பணிப்பாய்வு கோப்பில் ஒரு படி எவ்வாறு இருக்கும் என்பதற்கான கருத்தியல் எடுத்துக்காட்டு இங்கே:
- name: Run Playwright tests on Cloud Grid
env:
# Credentials for the cloud service
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
run: npx playwright test --config=playwright.ci.config.js
கட்டமைப்புக் கோப்பு (`playwright.ci.config.js`) உங்கள் அணியின் வரையறையை கொண்டிருக்கும் - சோதிக்க அனைத்து உலாவிகள் மற்றும் இயக்க முறைமைகளின் பட்டியல்.
நடைமுறை எடுத்துக்காட்டு: பிளேரைட் மூலம் உள்நுழைவு சோதனையை தானியக்கமாக்குதல்
இதை மேலும் உறுதியாக மாற்றுவோம். நாங்கள் ஒரு உள்நுழைவு படிவத்தை சோதிக்க விரும்புகிறோம் என்று கற்பனை செய்து பாருங்கள். சோதனை ஸ்கிரிப்ட் தானே உலாவி அல்ல, பயனர் தொடர்புகளில் கவனம் செலுத்துகிறது.
சோதனை ஸ்கிரிப்ட் (`login.spec.js`):
const { test, expect } = require('@playwright/test');
test('should allow a user to log in with valid credentials', async ({ page }) => {
await page.goto('https://myapp.com/login');
// Fill in the credentials
await page.locator('#username').fill('testuser');
await page.locator('#password').fill('securepassword123');
// Click the login button
await page.locator('button[type="submit"]').click();
// Assert that the user is redirected to the dashboard
await expect(page).toHaveURL('https://myapp.com/dashboard');
await expect(page.locator('h1')).toHaveText('Welcome, testuser!');
});
கட்டமைப்புக் கோப்பில் மேஜிக் நடக்கிறது, அங்கு நாங்கள் எங்கள் அணியை வரையறுக்கிறோம்.
கட்டமைப்புக் கோப்பு (`playwright.config.js`):
const { defineConfig, devices } = require('@playwright/test');
module.exports = defineConfig({
testDir: './tests',
timeout: 60 * 1000, // 60 seconds
reporter: 'html',
/* Configure projects for major browsers */
projects: [
{
name: 'chromium-desktop',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox-desktop',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit-desktop',
use: { ...devices['Desktop Safari'] },
},
{
name: 'mobile-chrome',
use: { ...devices['Pixel 5'] }, // Represents Chrome on Android
},
{
name: 'mobile-safari',
use: { ...devices['iPhone 13'] }, // Represents Safari on iOS
},
],
});
நீங்கள் `npx playwright test` ஐ இயக்கும்போது, பிளேரைட் அதே `login.spec.js` சோதனையை ஐந்து முறை தானாகவே இயக்கும், ஒவ்வொரு வரையறுக்கப்பட்ட திட்டத்திற்கும் ஒரு முறை `projects` வரிசையில். இது தானியங்கி இணக்கத்தன்மை அணியின் சாராம்சம். நீங்கள் ஒரு கிளவுட் கிரிட்டைப் பயன்படுத்தினால், சேவையால் வழங்கப்பட்ட வெவ்வேறு OS பதிப்புகள் அல்லது பழைய உலாவிகளுக்கான கூடுதல் உள்ளமைவுகளை நீங்கள் எளிதாகச் சேர்ப்பீர்கள்.
முடிவுகளை பகுப்பாய்வு செய்தல் மற்றும் அறிக்கை செய்தல்: தரவிலிருந்து நடவடிக்கை வரை
சோதனைகளை இயக்குவது பாதி போர் மட்டுமே. ஒரு வெற்றிகரமான அணி தெளிவான, செயல்படக்கூடிய முடிவுகளை அளிக்கிறது.
- மத்தியப்படுத்தப்பட்ட டாஷ்போர்டுகள்: உங்கள் CI/CD இயங்குதளம் மற்றும் கிளவுட் டெஸ்டிங் கிரிட் ஆகியவை ஒவ்வொரு உள்ளமைவுக்கும் எதிராக ஒவ்வொரு சோதனை ஓட்டத்தின் நிலையைக் காட்டும் ஒரு மத்திய டாஷ்போர்டை வழங்க வேண்டும். பச்சை செக்மார்க்குகளின் கட்டம் குறிக்கோள்.
- பிழைத்திருத்தத்திற்கான பணக்கார கலைப்பொருட்கள்: ஒரு குறிப்பிட்ட உலாவியில் (எ.கா., iOS இல் Safari) ஒரு சோதனை தோல்வியுற்றால், உங்களுக்கு "தோல்வி" நிலையை விட அதிகமாக தேவை. உங்கள் சோதனை தளம் சோதனை ஓட்டத்தின் வீடியோ பதிவுகள், உலாவி கன்சோல் பதிவுகள், நெட்வொர்க் HAR கோப்புகள் மற்றும் ஸ்கிரீன் ஷாட்களை வழங்க வேண்டும். சிக்கலை கைமுறையாக மீண்டும் உருவாக்க வேண்டிய அவசியமின்றி டெவலப்பர்கள் சிக்கலை விரைவாக பிழைத்திருத்த இந்த சூழல் விலைமதிப்பற்றது.
- காட்சி பின்னடைவு சோதனை: ஜாவாஸ்கிரிப்ட் பிழைகள் பெரும்பாலும் காட்சி குறைபாடுகளாக வெளிப்படுகின்றன. உங்கள் அணியில் காட்சி பின்னடைவு சோதனை கருவிகளை (Applitools, Percy அல்லது Chromatic போன்றவை) ஒருங்கிணைப்பது ஒரு சக்திவாய்ந்த மேம்பாடு ஆகும். இந்த கருவிகள் அனைத்து உலாவிகளிலும் உங்கள் UI இன் பிக்சல்-பை-பிக்சல் ஸ்னாப்ஷாட்களை எடுத்து திட்டமிடப்படாத காட்சி மாற்றங்களை முன்னிலைப்படுத்துகின்றன, CSS மற்றும் ரெண்டரிங் பிழைகளை செயல்படும் சோதனைகள் தவறவிடும்.
- ஃப்ளேக் மேலாண்மை: நீங்கள் தவிர்க்க முடியாமல் "மோசடியான" சோதனைகளை எதிர்கொள்வீர்கள்-எந்த குறியீடு மாற்றங்களும் இல்லாமல் சில நேரங்களில் தேர்ச்சி பெறும் சோதனைகள் மற்றும் மற்றவை தோல்வியடைகின்றன. இந்தவற்றை அடையாளம் கண்டு சரிசெய்வதற்கான ஒரு மூலோபாயத்தைக் கொண்டிருப்பது மிகவும் முக்கியமானது, ஏனெனில் அவை உங்கள் சோதனை தொகுப்பில் நம்பிக்கையை அரித்துவிடும். நவீன கட்டமைப்புகள் மற்றும் தளங்கள் இதைத் தணிக்க தானியங்கி மறுமுயற்சிகள் போன்ற அம்சங்களை வழங்குகின்றன.
மேம்பட்ட உத்திகள் மற்றும் சிறந்த நடைமுறைகள்
உங்கள் பயன்பாடு மற்றும் குழு வளரும்போது, உங்கள் அணியை மேம்படுத்த நீங்கள் மிகவும் மேம்பட்ட உத்திகளை ஏற்றுக்கொள்ளலாம்.
- இணையாக்கம்: உங்கள் சோதனை தொகுப்பை விரைவுபடுத்த இதுவே மிகவும் பயனுள்ள வழி. சோதனைகளை ஒவ்வொன்றாக இயக்குவதற்கு பதிலாக, அவற்றை இணையான முறையில் இயக்கவும். கிளவுட் கிரிட்கள் இதற்காக கட்டப்பட்டுள்ளன, இது ஒரு மணி நேர சோதனை ஓட்டத்தை சில நிமிடங்களாகக் குறைத்து, டென்சர்களை அல்லது நூற்றுக்கணக்கான சோதனைகளை ஒரே நேரத்தில் இயக்க உங்களை அனுமதிக்கிறது.
- ஜாவாஸ்கிரிப்ட் API மற்றும் CSS வேறுபாடுகளைக் கையாளுதல்:
- பாலிஃபில்கள்: Babel மற்றும் core-js போன்ற கருவிகளைப் பயன்படுத்தி நவீன ஜாவாஸ்கிரிப்டை பழைய உலாவிகள் புரிந்துகொள்ளக்கூடிய தொடரியலுக்கு தானாகவே மாற்றவும், மேலும் காணாமல் போன API களுக்கான பாலிஃபில்களை வழங்கவும் (`Promise` அல்லது `fetch` போன்றவை).
- அம்சம் கண்டறிதல்: ஒரு அம்சத்தை நிரப்ப முடியாத சந்தர்ப்பங்களில், தற்காப்பு குறியீட்டை எழுதுங்கள். ஒரு அம்சத்தைப் பயன்படுத்துவதற்கு முன்பு அது இருக்கிறதா என்று சரிபார்க்கவும்:
if ('newApi' in window) { // new API ஐப் பயன்படுத்தவும் } else { // ஃபால்பேக்கைப் பயன்படுத்தவும் }
. - CSS முன்னொட்டுகள் மற்றும் ஃபால்பேக்குகள்: பரந்த இணக்கத்தன்மையை உறுதி செய்வதற்காக, CSS விதிகளுக்கு விற்பனையாளர் முன்னொட்டுகளை தானாகச் சேர்க்க ஆட்டோபிரேஃபிக்ஸ் போன்ற கருவிகளைப் பயன்படுத்தவும்.
- ஸ்மார்ட் டெஸ்ட் தேர்வு: மிக பெரிய பயன்பாடுகளுக்கு, ஒவ்வொரு கமிட்டிலும் முழு சோதனை தொகுப்பையும் இயக்குவது மெதுவாக இருக்கும். ஒரு கமிட்டில் குறியீடு மாற்றங்களை பகுப்பாய்வு செய்து, பாதிக்கப்பட்ட பகுதிகளுக்கு தொடர்புடைய சோதனைகளை மட்டுமே இயக்குவது மேம்பட்ட நுட்பங்களில் அடங்கும்.
முடிவு: விருப்பத்திலிருந்து ஆட்டோமேஷனுக்கு
உலகளவில் இணைக்கப்பட்ட உலகில், நிலையான, உயர்தர பயனர் அனுபவத்தை வழங்குவது ஆடம்பரம் அல்ல-இது வெற்றிக்கு ஒரு அடிப்படை தேவை. குறுக்கு-உலாவி ஜாவாஸ்கிரிப்ட் சிக்கல்கள் சிறிய அச ven கரியங்கள் அல்ல; அவை வணிகரீதியான பிழைகள் ஆகும், அவை வருவாய் மற்றும் பிராண்ட் நற்பெயரை நேரடியாக பாதிக்கும்.
தானியங்கி இணக்கத்தன்மை அணியை உருவாக்குவது கைமுறையாக, நேரத்தை எடுத்துக்கொள்ளும் தடையாக இருந்து ஒரு மூலோபாய சொத்தாக குறுக்கு-உலாவி சோதனையை மாற்றுகிறது. இது ஒரு பாதுகாப்பு வலையாக செயல்படுகிறது, இது உங்கள் குழு புதுமைகளை உருவாக்கவும் அம்சங்களை நம்பிக்கையுடன் வரிசைப்படுத்தவும் அனுமதிக்கிறது, வலுவான, தானியங்கி செயல்முறை உலாவிகள் மற்றும் சாதனங்களின் பல்வேறு நிலப்பரப்பில் பயன்பாட்டின் ஒருமைப்பாட்டை தொடர்ந்து சரிபார்க்கிறது என்பதை அறிவது உங்கள் பயனர்கள் சார்ந்திருக்கும்.
இன்றே தொடங்குங்கள். உங்கள் பயனர் தரவை பகுப்பாய்வு செய்யுங்கள், உங்கள் முக்கியமான பயனர் பயணங்களை வரையறுக்கவும், நவீன ஆட்டோமேஷன் கட்டமைப்பைத் தேர்வுசெய்து, கிளவுட் அடிப்படையிலான கட்டத்தின் சக்தியை மேம்படுத்தவும். தானியங்கி இணக்கத்தன்மை அணியில் முதலீடு செய்வதன் மூலம், உங்கள் வலை பயன்பாட்டின் தரம், நம்பகத்தன்மை மற்றும் உலகளாவிய வரம்பில் நீங்கள் முதலீடு செய்கிறீர்கள்.